package com.amigo.online.common.core.response;

import com.amigo.online.common.core.i18n.Resources;

/**
 * 状态码，主要参考Http状态码，但并不完全对应
 * @author amigo
 *
 */
public enum StatusCode {

	/** 200请求成功 */
    OK(200),
    /** 207频繁操作 */
    MULTI_STATUS(207),
    /** 303登录失败 */
    LOGIN_FAIL(303),
    /** 400请求参数出错 */
    BAD_REQUEST(400),
    /** 401没有登录 */
    UNAUTHORIZED(401),
    /** 403没有权限 */
    FORBIDDEN(403),
    /** 404找不到页面 */
    NOT_FOUND(404),
	/** 405方法不被允许 */
	METHOD_NOT_ALLOWED(405),
    /** 408请求超时 */
    REQUEST_TIMEOUT(408),
    /** 409发生冲突 */
    CONFLICT(409),
    /** 410已被删除 */
    GONE(410),
    /** 423已被锁定 */
    LOCKED(423),
    /** 500服务器出错 */
    INTERNAL_SERVER_ERROR(500),
    
    
    
    
    /** 1000验证码错误 */
    SMS_CODE_ERROR(1000),
    /** 1001发送验证码太频繁 */
    SMS_CODE_MULTI(1001),
    /** 1002验证码不能为空 */
    SMS_CODE_NOT_EMPTY(1002),
    /** 1003验证码状态更新异常 */
    SMS_CODE_UPDATE_EXCEPTION(1003),
	
	/** 2000用户异常 */
    USER_EXCEPTION(2000),
    /** 2001手机号不能为空 */
    MOBILEPHONE_NOT_EMPTY(2001),
	/** 2002手机号不能为空 */
    PASSWORD_NOT_EMPTY(2002),
	/** 2003两次输入的密码必须相同 */
    PASSWORD_MUST_SAME(2003),
    /** 2004手机号已经存在 */
    MOBILEPHONE_EXIST(2004),
	/** 2005新增用户失败 */
    NEW_USER_FAILED(2005),
    /** 2006手机号不存在 */
    MOBILEPHONE_NOT_EXIST(2006),
    /** 2007密码错误 */
    PASSWORD_ERROR(2007),
    /** 2008完善用户信息失败 */
    USER_COMPETE_FAILED(2008),
    /** 2009完善用户信息失败 */
    USER_UPDATE_FAILED(2009),
    /** 2010帐号已经被使用 */
    ACCOUNT_EXIST(2010),
	/** 2011上传相册失败 */
    UPLOAD_USER_PHOTO_FAILED(2011),
    /** 2012删除相册失败 */
    DELETE_USER_PHOTO_FAILED(2012),
    /** 2013新建群组失败*/
    NEW_GROUP_FAILED(2013),
    /** 2014修改群组失败*/
    EDIT_GROUP_FAILED(2014),
    /** 2015账户被禁用*/
    ACCOUNT_FORBIDDEN (2015),
    /** 2016已被拉黑*/
    ACCOUNT_ISBLACK (2016),
	/** 2017 群主不能退群*/
	MASTER_CANT_QUIT_GROUP(2017),
	/** 2018 群ID不能为空*/
	GROUPID_ISNULL(2018),
	/** 2019 群找不到*/
	GROUP_NOT_FIND(2019),
	/** 2020 注册码错误*/
	REGISTER_CODE_ERROR(2020),

	/** 3000视频异常 */
    VIDEO_EXCEPTION(3000),
    /** 3001新增视频失败 */
	NEW_VIDEO_FAILED(3001),
	/** 3002视频评论失败 */
	VIDEO_COMMENT_FAILED(3002),
	/** 3003 该视频已收藏*/
	VIDEO_COLLECTED(3003),
	/**3004 未收藏该视频*/
	VIDEO_UNCOLLECT(3004),
	/**3005 评论删除失败*/
	VIDEO_COMMENT_DELETE_FAILED(3005),
	/**3006 视频分享失败*/
	VIDEO_SHARE_FAILED(3006),
	
	/** 4000搜索关键字异常 */
	SEARCH_QEXCEPTION(4000),
	/** 4001搜索起始行异常 */
	SEARCH_SEXCEPTION(4001),
	/** 4002搜索结束行异常 */
	SEARCH_REXCEPTION(4002),
	
	/**5001  已关注该用户 */
	USER_FOLLOWED(5001),
	/**5002  未关注该用户 */
	USER_FOLLOWED_CANCEL(5002),
	/**5003 不能关注自己*/
	USER_FOLLOW_WARING(5003),
	
	 /** 6000音乐异常 */
    MUSIC_EXCEPTION(6000),
	/** 6001 该音乐已收藏*/
	MUSIC_COLLECTED(6001),
	/**6002 未收藏该音乐*/
	MUSIC_UNCOLLECT(6002),
	
	/**7000文件上传失败*/
	FILE_UPLOAD_FILURE(7000),
	/**7001 未获取到文件*/
	NO_FILE_ACQUIRE(7001),
	
	/**8000今日喜欢人数已达到限制*/
	BEYOND_LIKE(8000),
	/**8001第一张图片缺失*/
	NEED_FIRSTIMG(8001),
	/**8002认证未通过*/
	VERITY_NO_ALLOW(8002),
	
	/** 9003 广告申请异常 */
	ADV_APPLY_EXCEPTION(9003),
	/** 9000广告异常*/
	ADV_EXCEPTION(9000),
	
	/** 10000非法支付操作*/
	PAY_ILLEGAL_OPERATION(10000),
	/** 10001重新支付超过30分钟*/
	PAY_TIMEOUT_30MIN(10001),

	/** 支付异常*/
	PAY_ERROR(10002),
	/** 交易ID重复使用*/
	TRANSACTION_ID_REPEAT(10003),
	/** 11000商家异常**/
	MERCHANT_EXCEPTION(11000),
	
	/** 11001商家不存在异常**/
	MERCHANT_NOT_EXIST(11001),
	
	/** 11003非管理员异常*/
	MERCHANT_NOT_MANAGER(11003),
	
	/** 12000 商品异常**/
	GOODS_EXCEPTION(12000),
	
	/** 12003 商品不存在异常**/
	GOODS_NOT_EXIST_EXCEPTION(12003),
	
	/** 12001 非本店商品*/
	GOODS_NOT_BELONG_THIS_MERCHANT(12001),
	
	/** 12002 商品展示图为空*/
	GOODS_SHOW_IMG_EMPTY(12002),
	
	/** 13010 校验参数异常 */
	CHECK_MERCHANTGOODS_EXCETION(13010),
	
	/** 13011不能重复评论 */
	ALREADY_COMMENT(13011),
	
	/** 13011不能评论自己的商品 */
	CANNOT_COMMENT_YOUROWN_GOODS(13012),
	
	/** 13011只能拥有一个店铺 */
	CAN_ONLY_HAS_ONE_MERCHANT(13013),
	
	/** 13014该用户已经是管理员**/
	ALREADY_IS_MANAGER(13014),
	
	/** 13015对方已是店长**/
	CAN_NOT_ADD_OTHER_STOREKEEPER(13015),

	/** 加群申请已被处理 **/
	APPLY_HAD_BE_HANDLED(13017),

	/** 审核人不是管理员 **/
	REVIEWER_IS_NOT_MANAGER(13018),

	/** 已提交申请 **/
	APPLY_IS_SUBMIT(13019),

	/** 已在群里 */
	IN_GROUP(13020),

	/** 13016全部**/
	ALL(13016),
	/** 不是Vip */
	IS_NOT_VIP(14000);
	

	private final Integer value;

    StatusCode(Integer value) {
        this.value = value;
    }
    /**
     * Return the integer value of this status code.
     */
    public Integer value() {
        return this.value;
    }
    public String msg() {
        return Resources.getMessage("STATUSCODE_" + this.value);
    }
    
    @Override
    public String toString() {
        return this.value.toString();
    }
}
